//
// Created by lau on 2019-10-17.
//

#ifndef VIDEOEFFECT_CONTEXT_H
#define VIDEOEFFECT_CONTEXT_H

#include <filters/grayfilter.h>
#include <filters/beautyfilter.h>
#include <glutils/render.h>
#include <glutils/framebuffer.h>
#include "ve_core.h"

namespace VideoEffect {

    class GrayFilter;

    class BeautyFilter;

    class Context {

    public:

        Context();

        GrayFilter *mGrayFilter;

        BeautyFilter *mBeautyFilter;

        Render *mRender = nullptr;

        FrameBuffer *mFrameBuffer = nullptr;

    public:
        void rendFrame(VE_Texture *textureIn, VE_Texture *textureOut);

        Render *getRender();

        FrameBuffer *getFrameBuffer();

    };


}

#endif //VIDEOEFFECT_CONTEXT_H
